/* 
针对 /admin /setting 的请求，要求 URL 携带code=521 参数，如未携带提示
*/
// 导入express
const express = require("express");

// 创建应用对象
const app = express();

// 声明路由中间件
let checkCodeMiddleware = (req, res, next) => {
  // 判断 URL 中是否 code 参数等于521
  if (req.query.code === "521") {
    next(); // 如果满足条件，就去调用后面的路由回调函数
  } else {
    res.send("请携带code=521参数"); // 响应过了就不再执行后面的路由回调
  }
};

// 创建路由
app.get("/home", (req, res) => {
  res.send("前端首页");
}); // 满足 /admin 后先执行路由中间件如果满足条件执行next() 最后执行路由回调函数
app.get("/admin", checkCodeMiddleware, (req, res) => {
  res.send("后台首页");
});
app.get("/setting", checkCodeMiddleware, (req, res) => {
  res.send("设置");
});
app.all("*", (req, res) => {
  res.send("<h1>404 Not Found</h1>");
});

// 监听端口，启动服务
app.listen(3000, () => {
  console.log("服务启动成功,端口3000");
});
